home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 24 / AACD 24.iso / AACD / Utilities / bzip2 / README.COMPILATION.PROBLEMS < prev    next >
Encoding:
Text File  |  2000-05-05  |  3.3 KB  |  81 lines

  1.  
  2. bzip2-1.0 should compile without problems on the vast majority of
  3. platforms.  Using the supplied Makefile, I've built and tested it
  4. myself for x86-linux, sparc-solaris, alpha-linux, x86-cygwin32 and
  5. alpha-tru64unix.  With makefile.msc, Visual C++ 6.0 and nmake, you can
  6. build a native Win32 version too.  Large file support seems to work
  7. correctly on at least alpha-tru64unix and x86-cygwin32 (on Windows
  8. 2000).
  9.  
  10. When I say "large file" I mean a file of size 2,147,483,648 (2^31)
  11. bytes or above.  Many older OSs can't handle files above this size,
  12. but many newer ones can.  Large files are pretty huge -- most files
  13. you'll encounter are not Large Files.
  14.  
  15. Earlier versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide
  16. variety of platforms without difficulty, and I hope this version will
  17. continue in that tradition.  However, in order to support large files,
  18. I've had to include the define -D_FILE_OFFSET_BITS=64 in the Makefile.
  19. This can cause problems.
  20.  
  21. The technique of adding -D_FILE_OFFSET_BITS=64 to get large file
  22. support is, as far as I know, the Recommended Way to get correct large
  23. file support.  For more details, see the Large File Support
  24. Specification, published by the Large File Summit, at
  25.    http://www.sas.com/standard/large.file/
  26.  
  27. As a general comment, if you get compilation errors which you think
  28. are related to large file support, try removing the above define from
  29. the Makefile, ie, delete the line
  30.    BIGFILES=-D_FILE_OFFSET_BITS=64 
  31. from the Makefile, and do 'make clean ; make'.  This will give you a
  32. version of bzip2 without large file support, which, for most
  33. applications, is probably not a problem.  
  34.  
  35. Alternatively, try some of the platform-specific hints listed below.
  36.  
  37. You can use the spewG.c program to generate huge files to test bzip2's
  38. large file support, if you are feeling paranoid.  Be aware though that
  39. any compilation problems which affect bzip2 will also affect spewG.c,
  40. alas.
  41.  
  42.  
  43. Known problems as of 1.0pre8:
  44. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  45.  
  46. * HP/UX 10.20 and 11.00, using gcc (2.7.2.3 and 2.95.2):  A large
  47.   number of warnings appear, including the following:
  48.  
  49.      /usr/include/sys/resource.h: In function `getrlimit':
  50.      /usr/include/sys/resource.h:168: 
  51.         warning: implicit declaration of function `__getrlimit64'
  52.      /usr/include/sys/resource.h: In function `setrlimit':
  53.      /usr/include/sys/resource.h:170: 
  54.         warning: implicit declaration of function `__setrlimit64'
  55.  
  56.   This would appear to be a problem with large file support, header
  57.   files and gcc.  gcc may or may not give up at this point.  If it
  58.   fails, you might be able to improve matters by adding 
  59.      -D__STDC_EXT__=1
  60.   to the BIGFILES variable in the Makefile (ie, change its definition
  61.   to
  62.      BIGFILES=-D_FILE_OFFSET_BITS=64 -D__STDC_EXT__=1
  63.  
  64.   Even if gcc does produce a binary which appears to work (ie passes
  65.   its self-tests), you might want to test it to see if it works properly
  66.   on large files.
  67.  
  68.  
  69. * HP/UX 10.20 and 11.00, using HP's cc compiler.
  70.  
  71.   No specific problems for this combination, except that you'll need to
  72.   specify the -Ae flag, and zap the gcc-specific stuff
  73.   -Wall -Winline -O2 -fomit-frame-pointer -fno-strength-reduce.
  74.   You should retain -D_FILE_OFFSET_BITS=64 in order to get large
  75.   file support -- which is reported to work ok for this HP/UX + cc
  76.   combination.
  77.  
  78.  
  79. That's the end of the currently known compilation problems.
  80.  
  81.